package com.zyb.warehouse.service;

import com.zyb.warehouse.common.Result;
import com.zyb.warehouse.dto.Page;
import com.zyb.warehouse.dto.vo.StoreCountVo;
import com.zyb.warehouse.entity.Store;

import java.util.List;

/**
 * Description:仓库业务层接口
 */
public interface StoreService {

    /**
     * 查询所有仓库
     *
     * @return
     */
    List<Store> queryAllStore();

    /**
     * 查询每个仓库存储的商品的数量
     *
     * @return
     */
    List<StoreCountVo> getStoreProductTotal();

    /**
     * 分页查询仓库
     *
     * @param page
     * @param store
     * @return
     */
    Page pageStore(Page page, Store store);

    /**
     * 查询仓库编号是否重复
     *
     * @param storeNum
     * @return
     */
    Result queryStoreByNum(String storeNum);

    /**
     * 添加仓库
     *
     * @param store
     * @return
     */
    Result addStore(Store store);

    /**
     * 修改仓库
     *
     * @param store
     * @return
     */
    Result updateStore(Store store);

    /**
     * 删除仓库
     *
     * @param storeId
     * @return
     */
    Result removeStore(Integer storeId);
}
